package com.cws.project.cws.course.domain;

import com.cws.framework.aspectj.lang.annotation.Excel;
import com.cws.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 课程信息对象 cws_course
 *
 * @author xyl
 * @date 2022-01-04
 */
public class Course extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    private Long courseId;

    /**
     * 课程名称
     */
    @Excel(name = "课程名称")
    private String courseName;

    /**
     * 年度
     */
    @Excel(name = "年度")
    private Integer courseYear;

    /**
     * 教师id
     */
    private Long teacherId;

    /**
     * 学生id
     */
    private Long studentId;

    /**
     * 班级id
     */
    private Long clazzId;

    private List<Long> clazzIds;

    /**
     * 是否结课
     */
    @Excel(name = "是否结课")
    private String isCourseEnd;

    /**
     * 上学期还是下学期
     */
    @Excel(name = "上/下学期")
    private String isUp;

    /**
     * 选修课 还是 必修课
     */
    private Integer courseType;

    private String teacherName;

    private String clazzName;

    private Double score;

    private Double gpa;

    private Integer jige;

    public Integer getCourseType() {
        return courseType;
    }

    public void setCourseType(Integer courseType) {
        this.courseType = courseType;
    }

    public Integer getJige() {
        return jige;
    }

    public void setJige(Integer jige) {
        this.jige = jige;
    }

    public Double getGpa() {
        return gpa;
    }

    public void setGpa(Double gpa) {
        this.gpa = gpa;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public Long getStudentId() {
        return studentId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }

    public Long getCourseId() {
        return courseId;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseYear(Integer courseYear) {
        this.courseYear = courseYear;
    }

    public Integer getCourseYear() {
        return courseYear;
    }

    public void setTeacherId(Long teacherId) {
        this.teacherId = teacherId;
    }

    public Long getTeacherId() {
        return teacherId;
    }

    public void setClazzId(Long clazzId) {
        this.clazzId = clazzId;
    }

    public Long getClazzId() {
        return clazzId;
    }

    public void setIsCourseEnd(String isCourseEnd) {
        this.isCourseEnd = isCourseEnd;
    }

    public String getIsCourseEnd() {
        return isCourseEnd;
    }

    public void setIsUp(String isUp) {
        this.isUp = isUp;
    }

    public String getIsUp() {
        return isUp;
    }

    public String getClazzName() {
        return clazzName;
    }

    public void setClazzName(String clazzName) {
        this.clazzName = clazzName;
    }

    public String getTeacherName() {
        return teacherName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }

    public List<Long> getClazzIds() {
        return clazzIds;
    }

    public void setClazzIds(List<Long> clazzIds) {
        this.clazzIds = clazzIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("courseId", getCourseId())
                .append("courseName", getCourseName())
                .append("courseYear", getCourseYear())
                .append("teacherId", getTeacherId())
                .append("clazzId", getClazzId())
                .append("isCourseEnd", getIsCourseEnd())
                .append("isUp", getIsUp())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("remark", getRemark())
                .toString();
    }
}
